package com.gl.buscaminas;

public class FabricaCasilleros {

	private static FabricaCasilleros instancia;

	private FabricaCasilleros() {
	}

	public static FabricaCasilleros obtenerInstancia() {
		if (instancia == null) {
			instancia = new FabricaCasilleros();
		}
		return instancia;
	}

	public Casillero crearCasillero(int fila, int columna, boolean conBomba) {
		Casillero casillero = new Casillero();
		casillero.setFila(fila);
		casillero.setColumna(columna);
		EstrategiaDestape estrategiaDestape = null;
		if (conBomba) {
			estrategiaDestape = new DestapeConBomba();
			casillero.setContadorBombasAdyacentes(-1);
		} else {
			estrategiaDestape = new DestapeSinBomba();
			casillero.setContadorBombasAdyacentes(0);
		}
		casillero.setEstrategiaDestape(estrategiaDestape);
		casillero.setDestapado(false);
		casillero.setBomba(conBomba);

		return casillero;
	}
}
